From 19744cdc5f0e3b335536e5afc976f038e40ba926 Mon Sep 17 00:00:00 2001 From: "emellor@leeni.uk.xensource.com" Date: Wed, 9 Nov 2005 16:08:37 +0100 Subject: [PATCH] Cope with the ValueError exception that we get if you use Xend with the recent change to parsing memory configuration against a store with entries written by an older Xend. Added maxmem field to list of things to be read from the store on recreate. --- tools/python/xen/xend/XendDomainInfo.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/tools/python/xen/xend/XendDomainInfo.py b/tools/python/xen/xend/XendDomainInfo.py index 54dfeac28e..1e06748d5d 100644 --- a/tools/python/xen/xend/XendDomainInfo.py +++ b/tools/python/xen/xend/XendDomainInfo.py @@ -393,11 +393,22 @@ class XendDomainInfo: ("on_crash", str), ("image", str), ("memory", int), + ("maxmem", int), ("vcpus", int), ("vcpu_avail", int), ("start_time", float)) - from_store = self.gatherVm(*params) + try: + from_store = self.gatherVm(*params) + except ValueError, exn: + # One of the int/float entries in params has a corresponding store + # entry that is invalid. We recover, because older versions of + # Xend may have put the entry there (memory/target, for example), + # but this is in general a bad situation to have reached. + log.exception( + "Store corrupted at %s! Domain %d's configuration may be " + "affected.", self.vmpath, self.domid) + return map(lambda x, y: useIfNeeded(x[0], y), params, from_store) -- 2.30.2